1. Field of the Invention
This invention relates to digital data processing apparatus in which two or more processes which have access to one or more serially reusable resources within the addressable storage of the apparatus are performed concurrently.
2. Description of the Prior Art
The invention is applicable to data processing systems in which any or all of the following conditions hold:
1. concurrent processes may be performed by one or by many computers having access to the same addressable storage; PA1 2. a controlling process or processes allocates the use of the computer or computers in the system to some or all of the processes in the system according to some scheme of priorities; PA1 3. a process may either temporarily or permanently and either in the course of its normal performance or in the event of interruption by some other process, including input and output operations and machine and program malfunction, either itself abandon or be forced to surrender the use of a computer which was performing it; PA1 4. a process, when it has temporarily either abandoned or been forced to surrender the use of a computer, may be restarted using either the same or another computer and either at the point where use of the computer was lost or at another point in the program or programs being then executed; PA1 5. a paging mechanism is implemented either by hardware or by both hardware and programming whereby, PA1 1. force a computer to idle or to perform work of a lower priority than that of the suspended process; PA1 4. a process holding a lock may be delayed in its performance by a variety of causes, including interruption by other processes and execution of a paging mechanism, so imposing these delays on any other processes obliged to be suspended or to spin on finding the lock held; PA1 5. a process holding a lock may terminate abnormally without releasing the lock, therefore mechanisms must be created to release locks under these cirsumstances and extra use of the computer be incurred in executing these mechanisms. PA1 1. place the value zero in the new element, thus preparing it to become the tail; PA1 2. acquire the list by holding its associated lock; PA1 3. place the address of the new element in the tail thereby making the new element the tail; PA1 4. place the address of the new element in the anchor.
some or all of the processes in the system may address not only data, including programs, in the main storage of the apparatus but also data held on peripheral storage including magnetic disks and drums, and PA2 upon reference by a process to data within its addressable storage but not in the main storage of the apparatus that process may lose the use of the computer performing it until such time as the paging mechanism has copied the required data from the device on which it resided at the time of reference into the main storage of the apparatus.